package cn.tedu.net;
//jdk8 lamda表达式
//要求：只针对接口可以使用，而且接口里只能有一个抽象方法
//好处：优化了匿名内部类的使用-- 函数式编程
public class Test_JDK8_Lamda {
    public static void main(String[] args) {
        //TODO  使用匿名内部类测试
        new A(){//匿名对象+匿名内部类
            @Override
            public void eat(){
                System.out.println("吃");
            }
        }.eat();
        // 2 使用lamda表达式优化匿名内部类
        //语法：（参数列表）->（方法体）
         A a2 = () ->{ System.out.println("吃");};
         a2.eat();
         B b = (int m)->{ System.out.println("睡"+m); };
         b.sleep(5);
         C c =(String n) ->{ return 100; };
         int x = c.run("jack");
        System.out.println(x);
        
    }
}
//TODO 提供接口
interface A {
     void eat();
}
interface B{
    void sleep(int id);
}
interface C{
    int run(String id);
}
